home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 22 / Commodore_Free_Issue_22_2008_Commodore_Computer_Club.d64 / t.uiec 1 < prev    next >
Text File  |  2023-02-26  |  11KB  |  402 lines

  1. u
  2. UIEC INFORMATION
  3. The device is now shipping and Jim has
  4. kindly let me reprint the draft of the
  5. read me guide I personally have one of
  6. these on order and will give a full
  7. and honest review as soon as the
  8. device arrives for my testing.
  9.  
  10. UIEC
  11. here is the most current README:
  12.  
  13. sd2iec - a controller/interface
  14. adapting storage devices to the CBM
  15. serial bus Copyright (C) 2007,2008
  16. Ingo Korb <ingo@akana.de> Parts based
  17. on code from others, see comments in
  18. main.c for details. JiffyDos send
  19. based on code by M.Kiesel Fat LFN
  20. support and lots of other ideas by Jim
  21. Brain crc7.c generated by pycrc, see
  22. comments in it for pycrc licence.
  23. Final Cartridge III fastloader support
  24. by Thomas Giesel
  25.  
  26. Free software under GPL version 2 ONLY,
  27. see comments in main.c and COPYING for
  28. details.
  29.  
  30. FIXME:This file still needs to be
  31. expanded. A lot.
  32.  
  33. INTRODUCTION:
  34. =============
  35. sd2iec is firmware, used in hardware
  36. designs like MMC2IEC, SD2IEC, or uIEC,
  37. that allows the Commodore serial bus
  38. to access removable storage devices
  39. (MMC, SD, CF) - think of it as a 1541
  40. with a modern storage medium instead
  41. of disks. The project was inspired by
  42. (and uses a few bits of code from)
  43. MMC2IEC[1] by Lars Pontoppidan and once
  44. ran on the same hardware before it grew
  45. too big for the ATmega32 used there.
  46.  
  47. Currently, the firmware provides good
  48. DOS and file-level compatibility with
  49. CBM drives, but much work still
  50. remains.  Unless specifically noted,
  51. anything that tries to execute code on
  52. the 1541 will not work, this includes
  53. every software fastloader.
  54.  
  55. [1] Homepage:
  56. http://pontoppidan.info/lars/
  57.  index.php?proj=mmc2iec
  58.  
  59. Supported commands:
  60. ===================
  61. - General notes:
  62. Any command not listed below is not
  63. currently supported.
  64.  
  65. - Directory filters:
  66. To show only directories, both =B (CMD-
  67. compatible) and =D can be used. On a
  68. real C= drive D matches everything.
  69. To include hidden files in directory,
  70. use *=H - on a 1541 this doesn't do
  71. anything. sd2iec marks hidden files
  72. with an H after the lock mark, i.e.
  73. "PRG<H" or "PRG H".
  74.  
  75. CMD-style "short" and "long" directory
  76. listings with timestamps are supported
  77. ("$=T"), including timestamp filters.
  78. Please read a CMD manual for the syntax
  79. until this file is updated.
  80.  
  81. - Partition directory:
  82. The CMD-style partition directory
  83. ($=P) is supported, including filters
  84. ($=P:S*). All partitions are listed
  85. with type "FAT", although this could
  86. change to NAT later for compatibility.
  87.  
  88. - CD/MD/RD:
  89. Subdirectory access is compatible to
  90. the syntax used by the CMD drives,
  91. although drive/partition numbers are
  92. completely ignored.
  93.  
  94. Quick syntax overview:
  95.   CD:_         changes into the parent
  96.    dir (_ is the left arrow on the C64)
  97.   CD_          dito
  98.   CD:foo       changes into foo
  99.   CD/foo       dito
  100.   CD//foo      changes into \foo
  101.   CD/foo/:bar  changes into foo\bar
  102.   CD/foo/bar   dito
  103.  
  104. You can use wildcards anywhere in
  105. the path. To change into an M2I or D64
  106. image the image file must be named
  107. after the :, it will not be recognized
  108. otherwise.
  109.  
  110. MD uses a syntax similar to CD and
  111. will create the directory listed after
  112. thecolon (:) relative to any
  113. directory listed before it.
  114.  
  115. MD/foo/:barcreates bar in foo
  116. MD//foo/:bar creates bar in \foo
  117.  
  118. RD can only remove subdirectories of
  119. the current directory.
  120.  
  121. RD:foo deletes foo
  122.  
  123. CD is also used to mount/unmount
  124. image files. Just change into them
  125. as if they were a directory and use
  126. CD:_ (left arrow on the C64) to leave.
  127. Please note that image files are
  128. detected by file extension and file
  129. size & there is no reliable way to see
  130. if a file is a valid image file.
  131.  
  132. - CP, C<Shift-P>
  133. This changes the current partition;
  134. see "Partitions" below for details.
  135.  
  136. - C:
  137. File copy command, should be CMD
  138. compatible. The syntax is
  139.  
  140. C[partition][path]:targetname=
  141.  [[partition][path]:]sourcename[,
  142.   [[p][p]:]sourcename...]
  143.  
  144. You can use this command to copy
  145. multiple files into a single target
  146. file in which case all source files
  147. will be appended into the target
  148. file. Parsing restarts for every
  149. source file name which means that
  150. every source name is assumed to be
  151. relative to the current directory.
  152. You can use wildcards in the source
  153. names, but only the first
  154. file matching will be copied.
  155.  
  156. Copying REL files should work, but
  157. isn't tested well. Mixing REL and
  158. non-REL files in an append operation
  159. isn't supported.
  160.  
  161. - G-P
  162. Get partition info, see CMD FD/HD
  163. manual for details. The reported
  164. information is partially faked,
  165. feedback is welcome.
  166.  
  167. - N:
  168. Format works only if a D64 image is
  169. already mounted.
  170.  
  171. - R
  172. Renaming files should work the same
  173. as it does on CMD drives, although
  174. the errors flagged for invalid
  175. characters in the name may differ.
  176.  
  177. - S:
  178. Name matching is fully supported,
  179. directories are ignored.
  180. Scratching of multiple files
  181. separated by , is also supported with
  182. no limit to the number of files except
  183. for the maximum command line length
  184. (usually 100 to 120 characters).
  185.  
  186. - T-R and T-W
  187. If your hardware features RTC
  188. support the commands T-R (time read)
  189. and T-W (time write) are available. If
  190. the RTC isn't present, both commands
  191. return 30,SYNTAX ERROR,00,00; if the
  192. RTC is present but not set correctly
  193. T-R will return 31,SYNTAX ERROR,00,00.
  194.  
  195. Both commands expect a fourth
  196. character that specifies time format
  197. to be used, T-W expects that the new
  198. time follows that character in exactly
  199. the format returned by T-R with the
  200. same format char.
  201.  
  202. The possible formats are:
  203.  - "A"SCII: "SUN. 01/20/08 01:23:45
  204.   PM"+CHR$(13)
  205. The day-of-week string can be any of
  206. "SUN.", "MON.", "TUES", "WED.", "THUR",
  207. "FRI.", "SAT.". The year field is
  208. modulo 100.
  209.  - "B"CD or "D"ecimal:
  210.  Both these formats use 9 bytes to
  211. specify the time. For BCD everything is
  212. BCD-encoded, for Decimal the numbers
  213. are sent/parsed as-is.
  214. Byte 0: Day of the week (0 for
  215. Sunday)
  216.  
  217.  1: Year (modulo 100 for BCD; -1900 for
  218.   Decimal, i.e. 108 for 2008)
  219.  2: Month (1-based)
  220.  3: Day (1-based)
  221.  4: Hour (1-12)
  222.  5: Minute (0-59)
  223.  6: Second (0-59)
  224.  7: AM/PM-Flag (0 is AM, everything
  225.   else is PM)
  226.  8: CHR$(13)
  227.  
  228. When the time is set a year less
  229. that 80 is interpreted as 20xx.
  230.  
  231. - U0
  232. Device address changing with
  233. "U0>"+chr$(new address) is supported,
  234. other U0 commands are currently not
  235. implemented.
  236.  
  237. - U1/U2/B-R/B-W
  238. Block reading and writing is fully
  239. supported while a D64 image is
  240. mounted.
  241.  
  242. - B-P
  243. Supported, not checked against the
  244. original rom at all.
  245.  
  246. - UI+/UI-
  247. Switching the slightly faster bus
  248. protocol for the VC20 on/off works, it
  249. hasn't been tested much though.
  250.  
  251. - UI/UJ
  252. Soft/Hard reset - UI just sets the
  253. "73,..." message on the error channel,
  254. UJ closes all active buffers but
  255. doesn't reset the current directory,
  256. mounted image, swap list or anything
  257. else.
  258.  
  259. - U<Shift-J>
  260. Real hard reset - this command
  261. causes a restart of the AVR processor
  262. (skipping the bootloader if
  263. installed). <Shift-J> is character
  264. code 202.
  265.  
  266. - X: Extended commands. If you use
  267. JiffyDOS, you can send them by using
  268. @"X..." - without quotes you'll just
  269. receive an error.
  270.  
  271. - XEnumSets the "file extension mode".
  272. This setting controls if files on FAT
  273. are written with an x00 header and
  274. extension or not.
  275.  
  276. Possible values for num are:
  277. 0: Never write x00 format files.
  278. 1: Write x00 format files for
  279.  SEQ/USR/REL, but not for PRG
  280. 2: Always write x00 format files.
  281. 3: Use SEQ/USR/REL file
  282. extensions, no x00 header
  283. 4: Same as 3, but also for PRG
  284.  
  285. If you set mode 3 or 4, extension
  286. hiding is automatically enabled. This
  287. setting can be saved in the EEPROM
  288. using XW, the default value is 1.
  289.  
  290. For compatibility with existing
  291. programs that write D64 files, PRG
  292. files that have D64, D41, D71, D81 or
  293. M2I as an extension will always be
  294. written without an x00 header and
  295. without any additional PRG file
  296. extension.
  297.  
  298. - XE+/XE-Enable/disable extension
  299. hiding. If enabled, files in FAT with
  300. a PRG/SEQ/USR/REL extension will have
  301. their extension removed and the file
  302. type changed to the type specified by
  303. the file extension - e.g.
  304. APPLICATION.PRG will become a PRG file
  305. named "APPLICATION", "README.SEQ" will
  306. become a SEQ file named "README".
  307. This flag can be saved in the EEPROM
  308. using XW, the default value is disabled
  309. (-).
  310.  
  311. - XB+/XB-Enable/disable free block
  312. calculation for FAT32 drives. As the
  313. free block calculation for FAT32 can
  314. take a lot of time it can be disabled
  315. using XB-. If it is disabled, sd2iec
  316. will always report "1 BLOCKS FREE" for
  317. FAT32 drives. The free block
  318. calculation on FAT12/FAT16 isn't
  319. affected because it takes just two
  320. seconds at most. This flag can be saved
  321. in the EEPROM using XW, the default
  322. value is enabled (+).
  323.  
  324. - XJ+/XJ-Set or reset the JiffyDOS
  325. protocol support flag. This flag can
  326. be saved in the EEPROM using XW, the
  327. default value is enabled (+).
  328.  
  329. - X*+/X*-Enable/disable 1581-style
  330. * matching. If enabled, characters
  331. after a * will be matched against the
  332. end of the file name.
  333. If disabled, any characters after a *
  334. will be ignored.This flag can be
  335. saved in the EEPROM using XW, the
  336. default value is enabled (+).
  337.  
  338. - XCnumSet oscillator calibration
  339.  value to num (must be between 0 and
  340. 255). Default is whatever your chip
  341. defaults to. This value can be saved in
  342. the EEPROM using XW.
  343.  
  344. - XX without any following
  345. characters reports the current state of
  346. all extended parameters via the error
  347. channel, similiar to DolphinDOS.
  348. Example result: "03,J-:C152:E01+:B+:*+,08,00"
  349. The track indicates the current device
  350.  address.
  351.  
  352. - XS:nameSet up a swap list - see
  353. "Changing Disk Images" below.
  354.  
  355. XS Disable swap list
  356.  
  357. - XW Store configuration to EEPROM
  358. This commands stores the current
  359. configuration in the EEPROM. It will
  360. automatically be read when the AVR is
  361. reset, so any changes you made will
  362. persist even after turning off the
  363. hardware.
  364.  
  365. The stored configuration includes the
  366. oscillator calibration value, the
  367. JiffyDOS protocol support flag, the
  368. extension mode and the current device
  369. address. If you have changed the device
  370. address by software, sd2iec will power
  371. up with that address unless you have
  372. changed the device address jumpers (if
  373. available) to a different setting than
  374. the one active at the time the
  375. configuration was saved.
  376.  
  377. You can think of this feature as
  378. changing the meaning of one specific
  379. setting of the jumpers to a different
  380. address if this sounds logical enough to you.
  381.  
  382. The "hardware overrides software
  383. overrides hardware" priority was chosen
  384. to allow accessing sd2iec even when it
  385. is soft- configured for a device number
  386. that is already taken by another device
  387. on the bus without having to remove
  388. that device to reconfigure sd2iec (e.g.
  389. when using a C128D).
  390.  
  391. - X? Extended version query
  392. This commands returns the extended
  393. version string which consists of the
  394. version, the processor type set at
  395. build time and the suffix of the
  396. configuration file (usually corresponds
  397. to the short name of the hardware
  398. sd2iec was compiled for).
  399.  
  400.           CONTINUED IN PART 2
  401.  
  402.